(load "prelude.ss")

;; Page 155
(define (deep m)
  (cond ((zero? m) (quote pizza))
        (else (cons (deep (sub1 m))
                    (quote ())))))

;; Page 156
(define six-layers
  (lambda (p)
    (cons
      (cons
        (cons
          (cons
            (cons
              (cons p '())
              '())
            '())
          '())
        '())
      '())))

;; Page 158
(define toppings)

(define (deepB m)
  (cond
    ((zero? m)
     (letcc jump
            (set! toppings jump)
            'pizza))
    (else (cons (deepB (sub1 m)) '()))))
